package server.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import server.business.pojo.TransfusionReview;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author Galaxy
 * @description 针对表【transfusion_review】的数据库操作Service
 * @createDate 2022-11-08 12:46:25
 */
public interface TransfusionReviewService extends IService<TransfusionReview> {

    /**
     * 输血申请提交
     * 
     * @param transfusionNumber
     */
    void insertRecord(String transfusionNumber);

    /**
     * 展示临床输血申请审核信息
     * 
     * @return
     */
    Page<TransfusionReview> getClinicPage();

    /**
     * 展示自体输血申请审核信息
     * 
     * @return
     */
    Page<TransfusionReview> getAutoInfo();

    /**
     * 展示术中输血申请审核信息
     * 
     * @return
     */
    Page<TransfusionReview> getSurgeyInfo();

    /**
     * 按条件查询临床输血审核记录
     * 
     * @param currentPage
     * @param pageSize
     * @param transfusionReview
     * @return
     */
    IPage<TransfusionReview> getSelectClinicPage(int currentPage, int pageSize, TransfusionReview transfusionReview,
            String startTime, String endTime, String reviewStartTime, String reviewEndTime);

    /**
     * 按条件查询自体输血审核记录
     * 
     * @param currentPage
     * @param pageSize
     * @param transfusionReview
     * @return
     */
    IPage<TransfusionReview> getSelectAutoPage(int currentPage, int pageSize, TransfusionReview transfusionReview,
            String startTime, String endTime, String reviewStartTime, String reviewEndTime);

    /**
     * 按条件查询术中输血审核记录
     * 
     * @param currentPage
     * @param pageSize
     * @param transfusionReview
     * @return
     */
    IPage<TransfusionReview> getSelectSurPage(int currentPage, int pageSize, TransfusionReview transfusionReview,
            String startTime, String endTime, String reviewStartTime, String reviewEndTime);

    /**
     * 更新输血申请审核记录
     */
    void updateReview(String transfusionNumber, TransfusionReview transfusionReview);

}
